package com.cy.server;

import com.cy.server.factory.ProviderFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

/**
 * 定义用于实现远程provide服务调用的server接口
 * 其中：
 *    1）@FeignClient  用于描述远程服务调用接口
 *    2）name = "sca-provider"  为你要远程调用的服务名
 *    3)contextId为当前bean的名称，假如没有指定contextId，
 *       默认会采用@FeignClient注解中name属性指定的名字为bean的名字
 *    4）fallbackFactory
 */
@FeignClient(name = "sca-provider",
            contextId = "remoteProviderService",
            fallbackFactory =  ProviderFallbackFactory.class)
public interface RemoteProviderService {

    @GetMapping("/provider/echo/{msg}")
    public String echoMessage(@PathVariable("msg") String msg);

}
